package com.thz.common.dto.matting;

import lombok.Data;

/**
 * 图片抠图请求参数DTO
 * 
 * @author THZ
 * @date 2025
 */
@Data
public class ConversionImageMattingRequestDTO {
    
    /**
     * 抠图算法（REMBG, U2NET等，默认REMBG）
     */
    private String algorithm = "REMBG";
    
    /**
     * 背景颜色（transparent表示透明背景，或者RGB颜色值如 #FFFFFF）
     */
    private String backgroundColor = "transparent";
    
    /**
     * 输出图片宽度（可选，不填则保持原始尺寸）
     */
    private Integer width;
    
    /**
     * 输出图片高度（可选，不填则保持原始尺寸）
     */
    private Integer height;
    
    /**
     * 是否保持宽高比（默认true）
     */
    private Boolean keepAspectRatio = true;
    
    /**
     * 输出质量（1-100，默认95）
     */
    private Integer quality = 95;
    
    /**
     * 处理模式（fast/balanced/quality，默认balanced）
     * - fast: 极速模式，处理时间减少50%
     * - balanced: 平衡模式，速度与质量兼顾
     * - quality: 高质量模式，专业级精度
     */
    private String processingMode = "balanced";
    
    /**
     * 是否添加羽化边缘（默认false）
     */
    private Boolean featherEdge = false;
    
    /**
     * 羽化半径（像素，默认0）
     */
    private Integer featherRadius = 0;
}



